<?php

/**
* @package		auto_occasion
* @subpackage 	recherche
* @version      1
* @author       CMS
*/


/**
* Zone de la page de recherche en front
*
* @package auto_occasion
* @subpackage commun
*/
class FoRechercheRightZone extends jZone {
 
	protected $_tplname='recherche~FoRechercheRight.zone';

	/**
	* Chargement des données pour affichage
	*/
	protected function _prepareTpl(){
		
        jClasses::inc('publicite~pubSrv');
        jClasses::inc("accueil~GoogleMapAPI");
		jClasses::inc('commun~parametre');
        jClasses::inc('commun~common');
        jClasses::inc('commun~toolsFile');
        jClasses::inc('commun~departementSrv');
        
        

        $tempDeptNum = array();
        
        
        if (isset($_SESSION['SESS_ANNONCE_RESULT'])) {
            $annonce = unserialize($_SESSION['SESS_ANNONCE_RESULT']);
            if($annonce['nbRecords'] > 0){
                // google map
                $map = new GoogleMapAPI('map');
                // setup database for geocode caching
                //$map->setDSN('mysql://USER:PASS@localhost/GEOCODES');
                // enter YOUR Google Map Key

                $map->setAPIKey(GOOGLE_MAP_API_KEY_DEV);
                //taille de la map
                $map->setHeight("300");
                $map->setWidth("300");
                //on desactive la barre de coté?
                $map->disableSidebar();
                //DesActive les  boutons(map/satellite/hybrid).
                $map->disableTypeControls();
                //Quel est le type de carte par defaut ? (map/satellite/hybrid)
                $map->setMapType('map'); // default
                //On déssactive les boutons pour afficher la direction d'un point a l'autre
                $map->disableDirections();
                $map->setZoomLevel(5);
                // Permet de definir le zoom automatiquement afin de voir tous les marqueurs d'un coup.
                //$map->enableZoomEncompass();
                //Active la mini map en bas a droite
                $map->enableOverviewControl();
                //permet de définir l'icone sur la map, nous on change pas
                //$map->setMarkerIcon('http://www.canadianwinter.ca/uploads/icon/marker_cw.png','http://www.canadianwinter.ca/uploads/icon/marker_cw_shadow.png',6,20,10,1);

                //CREATION DES MARQUEURS
                //on peut egalement utiliser addMarkerByCoords() si on a déj�  la latitude et longitude des points
                //Exemple basique
                // create some map markers
                foreach ($annonce['annonce'] as $k=>$item) {
                // récupération des photos
                    $photo = array();
                    $trouve = false;
                    $nophotos = true;
                // récupération des photos
                    $imgPath = PHOTO_ANNONCE_PATH;
                    if (!($item->photo_name)) {
                        //tester si le repertoire existe
                        $dirPath = JELIX_APP_WWW_PATH . PATH_ANNONCE_IMG . $item->IdOccasion;
                        $photo = array();
                        $trouve = false;
                        $nophotos = true;
                        if (is_dir($dirPath)){
                            //lister les images dans le repertoire
                            if ($dh = opendir($dirPath)) {
                                while (($file = readdir($dh)) !== false) {
                                    $filename = $dirPath . '/'. $file;
                                    $ext = explode(".", $file);
                                    if ($nophotos && file_exists($filename) && isset($ext[1]) && toolsFile::is_image($ext[1])) {
                                        // formation de l'objet photo
                                        $images = new stdClass();
                                        $images->photo_name = PATH_ANNONCE_IMG . $item->IdOccasion . '/' . $file;
                                        $photo[] = $images;
                                        $imgPath = "";
                                        $nophotos = false;
                                        $trouve = true;
                                    }
                                }
                                closedir($dh);
                            }

                        }
                        if(!$trouve){
                            $images = new stdClass();
                            if (isset($item->marque_logo) && (strlen($item->marque_logo) != 0)) {
                                $images->photo_name = $item->marque_logo;
                                $photo[] = $images;
                            } else {
                                $images->photo_name = "design/front/images/no_image.jpg";
                                $photo[] = $images;
                            }
                        }
                        $item->photo_name = $photo[0]->photo_name;
                    } 
                    if (!in_array($item->departement_num, $tempDeptNum) && $k < 20) {
                        $coords = departementSrv::getCoords($item->departement_num);
                        if(sizeof($coords)) {
                            $map->addMarkerByCoords($coords[0]->longitude+1, $coords[0]->latitude+1,'<div style="width:110pt;"><a href='.jUrl::get("recherche~FoFiche:index", array('id'=>$item->IdOccasion)).'>' . $item->marque_libelle . ' ' . $item->modele_libelle  . ' ' . $item->Occas_Version . '</a><br /><img style="margin:5px;" width=59 src="'.$item->photo_name.'" alt=""/><div style="float:right;">'.$item->Occas_Millesime.'<br />'.$item->Occas_Kilometrage.' km<br />'.$item->Occas_Prix.' €<br /></div></div>');

                            //$map->setCenterCoords($coords[0]->longitude, $coords[0]->latitude);

                        }
                    }

                    $tempDeptNum[] = $item->departement_num;

                }
                $this->_tpl->assign('google_map_header',$map->getHeaderJS());
                $this->_tpl->assign('google_map_js',$map->getMapJS());
                $this->_tpl->assign('google_map',$map->getMap());
            }
            else {
                $this->_tpl->assign('no_result','0');
            }
            
        }

        
        
        

    }
}